$.fn.alternateRowColors = function() {
    $('tbody tr:odd', this).removeClass('even').addClass('odd');
    $('tbody tr:even', this).removeClass('odd').addClass('even');
    return this;
};

$(document).ready(function(){
    var alternateRowColors = function($table) {
        $('tbody tr:odd', $table).removeClass('even').addClass('odd');
        $('tbody tr:even', $table).removeClass('odd').addClass('even');
    };
    $('#tabs').tabs();
    $('.messages').fadeOut(7000);
    $("#data").datepicker({
        monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
        dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
        dateFormat: 'dd/mm/yy'
    });
    $.ajaxSetup({
        cache: false,
        type: 'POST',
        dataType: 'json',
        error: function () {
            alert('Um erro de comunicação com o servidor ocorreu!');
            $('#ajax-ldr').fadeOut('fast');
        }
    });
    function removeItem(e){
        var id = $(e).attr('item');
        $.ajax({
            url: "/registros/removeitem",
            processData: false,
            data: 'id='+id,
            beforeSend: function (){
                $("#wait").fadeIn('fast').html('Removendo Atividade...');
                  var pos = $(e).position();
                  var width = $(e).width();
                  $("#ajax-ldr").css( {
                     "left": (pos.left+width+5) + "px",
                     "top":pos.top + "px"
                   } ).fadeIn('fast');
            },
            success: function(msg){
                $('#ajax-ldr').fadeOut('fast');
                $("#wait").fadeOut('fast');
                if (msg==false){
                    alert('Erro removendo atividade!');
                }
                else{
                    $('.error').hide();
                    $('#tr_'+id).remove();
                }
            }
        });
    }
    $('.removeitem').click(function(){
        removeItem(this);
        return false;
    });
    function editaItem(e){
        $('#iditem').val($(e).attr('item'));
        $.ajax({
            url: "/registros/item",
            processData: false,
            data: 'id='+$(e).attr('item'),
            beforeSend: function (){
                $("#wait").fadeIn('fast').html('Fechando Tarefa...');
            },
            success: function(msg){
                $('#ajax-ldr').fadeOut('fast');
                $("#wait").fadeOut('fast');
                if (msg==false){
                    alert('Erro carregando tarefa!');
                }
                else{
                    $('.error').hide();
                    $('#idregistro').val(msg.id_registro);
                    $('#iditem').val(msg.id);
                    $('#codmod').val(msg.codmod);
                    $('#data').val(msg.data);
                    $('#horini').val(msg.horini);
                    $('#horfin').val(msg.horfin);
                    $('#servico').html(msg.servico);
                    $('#dialog').dialog('open');
                }
            }
        });
    }
    $('.editaitem').click(function(){
        //alert($(this).attr('item'));        
        editaItem(this);
        return false;
    });
    $("#dialog").dialog({
        dialogClass: 'dlgatividade',
        draggable: true,
        modal: true,
        title: 'Informações sobre o Trabalho',
        resizable: false,
        show: 'fadeIn',
        autoSize: false,
        autoOpen: false,
        minWidth: 760,
        width: 760,
        open: function(event,ui){
            $('.dlgatividade .ui-dialog-buttonpane button :contains(Criar)').parent().button( "option", "disabled", false );
//          $('textarea.tinymce').tinymce({
//                // Location of TinyMCE script
//                script_url : '/js/tiny_mce/tiny_mce.js',
//                // General options
//                theme : "advanced",
//                theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,fontsizeselect,|,bullist,numlist",
//                theme_advanced_buttons2 : "",
//                theme_advanced_toolbar_location : "top",
//                theme_advanced_toolbar_align : "left",
//                theme_advanced_statusbar_location : "bottom"
//          });
        },
        close: function(event, ui) {
            $('.dlgatividade .ui-dialog-buttonpane button :contains(Criar)').parent().button( "option", "disabled", false );
            $('#codmod').val('');
            $('#data').val('');
            $('#horini').val('');
            $('#horfin').val('');
            $('#servico').html('');
            $('#iditem').val('');
            $('.error').hide();
            //$('textarea.tinymce').tinymce().remove();
        },
        buttons: {
            'Criar/Atualizar':function(){
                $.ajax({
                    url: "/registros/novo",
                    processData: false,
                    contentType:'application/x-www-form-urlencoded',
                    data: 'id='+$('#iditem').val()+'&id_registro='+$('#id_registro').val()+'&codsis='+escape($('#codsis').val())+
                    '&codmod='+$('#codmod option:selected').val()+'&data='+$('#data').val()+
                    '&horini='+$('#horini').val()+'&horfin='+$('#horfin').val()+'&servico='+$('#servico').val(),
                    //data: $('#frm1').serialize(),
                    beforeSend: function (){
                        $('.dlgatividade .ui-dialog-buttonpane button :contains(Criar)').parent().button( "option", "disabled", true );
                        //                        var pos = $("#trab_"+tarefa).position();
                        //                       var width = $("#trab_"+tarefa).width();
                        //                      $("#ajax-ldr").css( {
                        //                         "left": (pos.left+width+5) + "px",
                        //                        "top":pos.top + "px"
                        //                   } ).fadeIn('fast');
                        $("#wait").fadeIn('fast').html('Criando Tarefa...');
                    },
                    success: function(msg){
                        $('#ajax-ldr').fadeOut('fast');
                        $("#wait").fadeOut('fast');
                        if (msg.status==true){
                            if ($('#iditem').val()==''){
                                $('#atividades').append($('<tr>').attr('id','tr_'+msg.atividade.id)
                                    .append($('<td>')
                                        .append($('<a>').attr('class','tips editaitem btn-i-editar').attr('obs','Editar este laçamento').attr('href','#').click(function(){editaItem(this);}).attr('item',msg.atividade.id))
                                        .append($('<a>').attr('class','tips editaitem btn-i-excluir').attr('obs','Remover este laçamento').attr('href','#').click(function(){removeItem(this);}).attr('item',msg.atividade.id))
                                     )
                                    .append($('<td>').text(msg.atividade.id))
                                    .append($('<td>').text($('#codsis option:selected').text()))
                                    .append($('<td>').text($('#codmod option:selected').text()))
                                    .append($('<td>').html($('#servico').val()))
                                    .append($('<td>').text(msg.atividade.horini))
                                    .append($('<td>').text(msg.atividade.horfin))                                    
                                    ).alternateRowColors();
                            }else{
                                //$('#tr_'+$('#iditem').val()+'td:nth-child(1)').text(msg.atividade.id);
                                $('#tr_'+$('#iditem').val()+' td:nth-child(2)').text(msg.atividade.id);
                                $('#tr_'+$('#iditem').val()+' td:nth-child(3)').text($('#codsis option:selected').text());
                                $('#tr_'+$('#iditem').val()+' td:nth-child(4)').text($('#codmod option:selected').text());
                                $('#tr_'+$('#iditem').val()+' td:nth-child(5)').html($('#servico').val());
                                $('#tr_'+$('#iditem').val()+' td:nth-child(6)').text(msg.atividade.horini);
                                $('#tr_'+$('#iditem').val()+' td:nth-child(7)').text(msg.atividade.horfin);
                            }
                            $('#dialog').dialog('close');
                            $('#codmod').val('');
                            $('#data').val('');
                            $('#horini').val('');
                            $('#horfin').val('');
                            $('#servico').html('');
                            $('.dlgatividade .ui-dialog-buttonpane button :contains(Criar)').parent().button( "option", "disabled", false );
                            $('.error').hide();
                        }
                        else{
                            $('.dlgatividade .ui-dialog-buttonpane button :contains(Criar)').parent().button( "option", "disabled", false );
                            $('.error').hide();
                            //jQuery.each(msg,function(i,n){
                            //    jQuery.each(n,function(x,v){
                            //        $('#'+i).after('<div class="error">'+v+'</div>');
                            //    });
                            //});
                            $.each(msg.errors,function(key,value){
                                showError(key, value);
                            });
                        }
                    }
                });
            },
            'Cancelar': function(){
                $('#dialog').dialog('close');
                $('.dlgatividade .ui-dialog-buttonpane button :contains(Criar)').parent().button( "option", "disabled", false );
                $('#codmod').val('');
                $('#data').val('');
                $('#horini').val('');
                $('#horfin').val('');
                $('#iditem').val('');
                $('#servico').html('');
                $('.error').hide();
                return false;
            }
        }
    });
    $("#dialog2").dialog({
        dialogClass: 'alert',
        draggable: true,
        modal: true,
        title: 'Informações sobre as Programações',
        resizable: true,
        show: 'fadeIn',
        autoSize: true,
        autoOpen: false,
        minWidth: 700,
        width: 700,
        close: function(event, ui) {
            $('#codmod').val('');
            $('#data').val('');
            $('#horini').val('');
            $('#horfin').val('');
            $('#servico').val('');
            $('.error').hide();
        },
        buttons: {
            'Criar/Atualizar':function(){
                $.ajax({
                    url: "/registros/novaprogramacao",
                    processData: false,
                    data: 'id='+$('#iditem').val()+'&registro_id='+$('#id_registro').val()+'&sistema_id='+$('#codsis').val()+
                    '&modulo_id='+$('#modulo_id option:selected').val()+'&descricao='+$('#descricao').val()+'&cliente_id='+$('#codcli').val()+
                    '&contato_id='+$('#contato_id').val(),
                    beforeSend: function (){
                        //                        var pos = $("#trab_"+tarefa).position();
                        //                       var width = $("#trab_"+tarefa).width();
                        //                      $("#ajax-ldr").css( {
                        //                         "left": (pos.left+width+5) + "px",
                        //                        "top":pos.top + "px"
                        //                   } ).fadeIn('fast');
                        $("#wait").fadeIn('fast').html('Criando Tarefa...');
                    },
                    success: function(msg){
                        $('#ajax-ldr').fadeOut('fast');
                        $("#wait").fadeOut('fast');
                        if (msg.status==true){
                            $('#programacoes').append($('<tr>').append($('<td>').text(msg.programacao.id))
                                .append($('<td>').text($('#codsis option:selected').text()))
                                .append($('<td>').text($('#codmod option:selected').text()))
                                .append($('<td>').text($('#servico').val()))
                                .append($('<td>').text(msg.programacao.contato_id))
                                .append($('<td>').text(msg.programacao.funcionario_id))
                                .append($('<td>').text(msg.programacao.descricao))
                                ).alternateRowColors();
                            $('#dialog2').dialog('close');
                            $('#modulo_id').val('');
                            $('#contato').val('');
                            $('#descricao').val('');
                            $('.error').hide();
                        }
                        else{
                            $('.error').hide();
                            //jQuery.each(msg,function(i,n){
                            //    jQuery.each(n,function(x,v){
                            //        $('#'+i).after('<div class="error">'+v+'</div>');
                            //    });
                            //});
                            $.each(msg.errors,function(key,value){
                                showError(key, value);
                            });
                        }
                    }
                });
            },
            'Cancelar': function(){
                $('#dialog2').dialog('close');
                $('#modulo_id').val('');
                $('#contato_id').val('');
                $('#descricao').val('');
                $('.error').hide();
                return false;
            }
        }
    });
    $('#addatividade').click(function(){
        if ($('#id_registro').val()!=''){
            $('#dialog').dialog('open');
        }else{
            alert('Antes de Inserir atividades, crie o relatório!');
        }
    });

    $('#addprogramacao').click(function(){
        if ($('#id_registro').val()!=''){
            $('#dialog2').dialog('open');
        }else{
            alert('Antes de Inserir as Programações, crie o relatório!');
        }
    });

    function showError(key,val)
    {    $('#addatividade').click(function(){
        if ($('#id_registro').val()!=''){
            $('#dialog').dialog('open');
        }else{
            alert('Antes de Inserir atividades, crie o relatório!');
        }
    });


        var formElement = $('#'+key);
        var container = formElement.next('.error');
        if (container){
            //alert(key);
            var valor = '';
            $.each(val, function(key,value){
                valor += '<li>'+value+'</li>';
            });
            container.html('');
            container.html($('<div>')
                .attr('class','ui-state-error ui-corner-all')
                .html(
                    $('<span>')
                    .attr('class','ui-icon ui-icon-alert')
                    .attr('style','float: left; margin-right: 0.3em;'))
                .append(valor)
                );
            container.show();
        }
    }
    $('#ac_cliente').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "/colaborador/index",
                type: "POST",
                datatype: "json",
                data: {
                    q: request.term
                },
                success: function(data) {
                    response($.map(data.colaboradores, function(item) {
                        return {
                            label: item.nome,
                            value: item.codusu
                        }
                    }))
                }
            })
        },
        focus: function(event,ui){
            $('#ac_cliente').val(ui.item.label);
            return false;
        },
        open: function(event,ui) {
            $('#codcli').val('');
        },
        select: function(event,ui){
            $('#codcli').val(ui.item.value);
            $('#ac_cliente').val(ui.item.label);
            if ($('#codcli').val()!=''){
                $.ajax({
                    url: "/contato/index",
                    processData: false,
                    data: 'cliente_id='+$('#codcli').val(),
                    beforeSend: function (){
                        var pos = $('#ac_cliente').offset();
                        var width = $('#ac_cliente').width();
                        $("#ajax-ldr").css( {
                            "left": (pos.left+width+5) + "px",
                            "top":pos.top + "px"
                        } ).fadeIn('fast');

                    },
                    success: function(msg){
                        $('#contato_id option').remove();
                        $('#contato_id').append("<option value=''>Selecione o Contato...</option>")
                        for (i = 0; i < msg.length; i++) {
                            $('#contato_id').append("<option value='"+msg[i].idcontato+"'>"+msg[i].dsnome+"</option>")
                        }
                        $('#ajax-ldr').fadeOut('fast');
                    }
                });
            }
            return false;
        },
        minLength: 3,
        delay: 300
    });
    $('#horini').keydown(function(event){
       var aux = $(this).val();
       if ((aux.length==2) && (event.keyCode!='8')){
           aux += ':';
           $(this).val(aux);
        }
    });
    $('#horfin').keydown(function(event){
       var aux = $(this).val();
       if ((aux.length==2) && (event.keyCode!='8')){
           aux += ':';
           $(this).val(aux);
        }
    });
})